\chapter{Project Planning | Tobias Langjahr}\label{chap:projectPlanning}
This project planning chapter will introduce to the created project plan which includes the presentation of the project time schedule, the assigned resources to each work package and the estimation of project costs. Further the necessary risk management and team internal processes will be presented.

\noindent
To be able to evaluate a project's progress, it is necessary to define a project time schedule first. This schedule includes work packets on a low level which end in milestones and the expected deliverables. Deliverables are defined elements which have to be present at the end of each phase.

\section{Milestones}\label{sec:milestones}
As this workshop was accomplished partly at the Technische Akademie Esslingen during the two workshop weekends and home during the week, some major project time points had been already defined by the lectures and through the workshop limitations. This milestone definition is important for a project because by evaluating whether a milestone was reached or not, the project's status can be tracked.

\noindent
As already mentioned, the available time frame of the project was given by the lecturers. According to the given time points of the lecturers, the team defined three project phases, the \textit{Initial}, the \textit{Requirements Engineering/Evaluation} and the \textit{Implementation} phase. According to those found project phases, three milestones shown in table \ref{tbl:milestones} had been found. With the help of theses milestones the major project steps on a high level had been defined. To be able to create a full project schedule and to define the due dates for the found milestones, work packages with assigned resources had to be developed. This will be done in the following sections.

\vspace{.5cm}
\begin{longtable}{p{70mm}|p{50mm}}
 	\hline
 	\textbf{Milestone} & \textbf{Estimated Due Date} \\
 	\hline
 	\hline
 	Project Planned & April 9th, 2011\\
 	\hline
 	Selection of a shop system & April 9th, 2011\\
 	\hline
 	Implementation Completed & April 15th, 2011\\
 	\hline
 	Submission of Report & June 1st, 2011\\
 	\hline
	\caption{Milestones}
	\label{tbl:milestones}
\end{longtable}

\section{Work Breakdown Structure}
To be able to capture the overall effort of the project, it was necessary to create a work breakdown structure which was used to define specific work tasks later on. Figure \ref{fig:WBS} shows the created work breakdown structure. It can be seen that the team identified three major project elements, the \textit{Implementation}, the \textit{Project Management} and the \textit{Documentation} of the project.

\begin{figure}[h]
\begin{center}
\includegraphics[width = .8\textwidth]{images/WBS.jpg}
\caption{Work Breakdown Structure}
\label{fig:WBS}
\end{center}
\end{figure}


\section{Work Tasks}\label{sec:worktasks}
As stated beforehand, the project was divided into three project phases which will end with the milestones stated in table \ref{tbl:milestones}. According to theses phases, milestones and the work breakdown structure, the following work tasks had been defined.

\subsection{Initial Project Phase}
The initial project phase is very important for a successful project management. In this phase the important project planning is done. A good project plan will assist the project by providing a solid project definition. Further all possible events which could influence the progress of the project should be analysed and appropriate solutions should be found in case those events will occur. 

\vspace{.5cm}
\begin{longtable}{p{65mm}|p{35mm}|p{35mm}}
 	\hline
 	\textbf{Task} & \textbf{Work Estimation} & \textbf{Responsible}\\
 	\hline
 	\hline
 	Definition of the Project Purpose & 1h & Team\\
 	\hline
 	Creation of Project Plan & 4h & Tobias Langjahr\\
 	&&J\"org Miller\\
 	\hline
 	Planning Resources & 3h & J\"org Miller\\
 	\hline
 	Definition of Deliverables & 1h & Team\\
 	\hline
 	\hline
 	\textbf{Total Work Estimation Team} & \textbf{19h} & \\
 	\hline
	\caption{Work Tasks - Initial Project Phase}
	\label{tbl:phase1}
\end{longtable}


\subsection{Requirements Engineering/Evaluation Phase}
Another important key factor of a successful project is the careful definition of requirements, use cases and the project classification. The major element of this phase was the definition of use cases and requirements for the web shop based on the project definition. Regarding to the found requirements, evaluation criteria for the possible web shop systems had to be defined.

\newpage
\vspace{.5cm}
\begin{longtable}{p{65mm}|p{35mm}|p{35mm}}
 	\hline
 	\textbf{Task} & \textbf{Work Estimation} & \textbf{Responsible}\\
 	\hline
 	\hline
 	Definition of Use Cases & 2h & Team\\
 	\hline
 	Requirements Engineering & 3h & Tobias Lauffer,\\
 	&&Michael Ries\\
 	\hline
 	Definition of Evaluation Criteria & 3h & Michael Ries\\
 	&&J\"org Miller\\
 	\hline
 	Evaluation of Web Shop Systems & 1h & Team\\
 	\hline
 	\hline
 	\textbf{Total Work Estimation Team} & \textbf{24h} & \\
 	\hline
	\caption{Work Tasks - Requirements Engineering/Evaluation Phase}
	\label{tbl:phase2}
\end{longtable}


\subsection{Implementation Phase}
This phase mainly consists of the implementation of the web shop according to the defined project plan. Since this phase is the most critical phase in which unforeseen problems can occur, the progress of the work tasks has to be monitored very carefully to avoid discrepancies between the planned time schedule and the actual progress. If problems occur it is the responsibility of the project management to evaluate if the problem is affecting the estimated effort and how it can be corrected, to determine if this correction is necessary in terms of the project success criteria, to adjust the project plan and to continue the tracking of the item. Table \ref{tbl:phase3} shows the work items found for this phase.

\vspace{.5cm}
\begin{longtable}{p{65mm}|p{35mm}|p{35mm}}
 	\hline
 	\textbf{Task} & \textbf{Work Estimation} & \textbf{Responsible}\\
 	\hline
 	\hline
 	Installation of Web Shop & 2h & Michael Ries\\
 	\hline
 	Applying Custom Design & 2h & Tobias Lauffer\\
 	&&Michael Ries\\
 	\hline
 	Filling Content & 2h & Team\\
 	\hline
 	Creating Test Specification & 2h & Tobias Lauffer\\
 	\hline
 	Testing Web Shop System & 2h & Tobias Lauffer\\
 	\hline
 	\hline
 	\textbf{Total Work Estimation Team} & \textbf{18h} & \\
 	\hline
	\caption{Work Tasks - Implementation Phase}
	\label{tbl:phase3}
\end{longtable}


\subsection{Project Controlling and Documentation}
During the definition of each work task, it became clear that some tasks cannot be assigned to an individual work task whether to a single phase. Those tasks are the documentation task and the project controlling task. Both tasks are project wide and are included within each task as an accompany task. The estimated effort is shown in table \ref{tbl:phase4}.

\vspace{.5cm}
\begin{longtable}{p{65mm}|p{35mm}|p{35mm}}
 	\hline
 	\textbf{Task} & \textbf{Work Estimation} & \textbf{Responsible}\\
 	\hline
 	\hline
 	Project Controlling & 16h & Tobias Langjahr\\
 	\hline
 	Documentation & 40h & Team\\
 	\hline
 	\hline
 	\textbf{Total Work Estimation Team} & \textbf{176h} & \\
 	\hline
	\caption{Work Tasks - Project Controlling \& Documentation}
	\label{tbl:phase4}
\end{longtable}


\section{Deliverables}
Milestones usually already imply a certain type of deliverable for example \textit{Implementation Completed} which includes the running web shop as deliverable. Nevertheless it is important to define specific deliverables for each milestone to be able to evaluate if a milestone has been reached and if all tasks had been finished successfully. Table \ref{tbl:deliver} shows the specified deliverables for each milestone. 

\begin{longtable}{p{60mm}|p{80mm}}
 	\hline
 	\textbf{Milestone} & \textbf{Deliverable}\\
 	\hline
 	\hline
 	Project Planned & Project goals\\
 	& Project Plan\\
 	& Resource Plan\\
 	& Risk Analysis\\
 	& Plan of Deliverables\\
 	\hline
 	Selection of a Shop System & Use Cases\\
 	& Stakeholders\\
 	& Functional Requirements\\
 	& Non-Functional Requirements\\
    & Shop Evaluation Criteria\\
    & Plan of Compared Shop Systems\\
    & Prototype of selected Shop System\\
 	\hline
 	Implementation Completed & Running Web Shop\\
 	&Test Protocol\\
 	\hline
 	Submission of Report & Workshop Report\\
 	\hline
	\caption{Deliverables}
	\label{tbl:deliver}
\end{longtable}


\section{Project Schedule}\label{sec:schedule}
After all work tasks and resources had been assigned, the project schedule was created. The project schedule was developed as a Gantt chart which is one of the mainly used project scheduling method. A Gantt chart represents each work task with its own time line. By using a Gantt chart, it is possible to detect dependencies between tasks and to identify buffers of tasks easily. The Gantt chart shown in figure \ref{fig:Gantt} presents the created Gantt chart of team Green. It can be seen that the chart includes all the defined work tasks (section \ref{sec:worktasks}) which end with the also previously defined milestones (section \ref{sec:milestones}). The chart also states that the implementation phase has many dependencies which represents a critical path. Within this path there are almost no possible buffers for a task, which usually means that if one task will be not in time the following tasks will not be in time unless it is possible to save time within one of those tasks.

\begin{figure}
  \begin{center}
    \includegraphics[width = 1.3\textwidth, angle=90]{images/gantt.png}
    \caption{Project Gantt Chart}
    \label{fig:Gantt}
  \end{center}
\end{figure}


\section{Cost Estimation}
This workshop was accomplished during the two workshop weekends at the Technische Akademie Esslingen and additional during the week at home. Since the master course in distributed systems engineering is a part time master, the available time during the weeks had to fit into the regular work schedule. Therefore the following work times had been defined (table \ref{tbl:AvailableTime}). It has to be stated that workshop was scheduled right before the exams session of the master course. Because of this circumstance no work time was scheduled during the exams preparation phase which left one work week after the exams session including the weekend.

\vspace{.5cm}
\begin{longtable}{p{40mm}|p{20mm}|p{20mm}|p{20mm}}
 	\hline
 	\textbf{Phase} & \textbf{Days} & \textbf{Hours} & \textbf{Total}\\
 	\hline
 	\hline
 	Workshop & 4d & 8h & 32h\\
 	\hline
 	Weekdays & 13d & 2h & 26h\\
 	\hline
 	Regular Weekend & 2d & 5h & 10h\\
 	\hline
 	\hline
 	\textbf{Available Time} & & &\textbf{68h} \\
 	\hline
	\caption{Available Time Estimation}
	\label{tbl:AvailableTime}
\end{longtable}


\subsection{Cost Estimation Team}
Based on the planned work tasks and the estimated effort for theses tasks, the cost estimation for each team member was done. To be able to calculate the overall costs, the costs for one man-hour had to be defined. As usual, internal GreenGadget Inc. projects have a defined price of \euro{74,00} for one man-hour. Table \ref{tbl:CostEstTeam} shows the total cost estimation of the project for each team member.

\vspace{.5cm}
\begin{longtable}{p{40mm}|p{20mm}|p{30mm}}
 	\hline
 	\textbf{Resource} & \textbf{Hours} & \textbf{Total Costs}\\
 	\hline
 	\hline
 	Tobias Langjahr & 67h & \euro{4958,00}\\
 	\hline
 	Michael Ries & 57h & \euro{4218,00}\\
 	\hline
 	Tobias Lauffer & 56h & \euro{4144,00}\\
 	\hline
 	J\"org Miller & 57h & \euro{4218,00}\\
 	\hline
 	\hline
 	\textbf{Total} & \textbf{237h} &\textbf{\euro{17538,00}} \\
 	\hline
	\caption{Cost Estimation Team}
	\label{tbl:CostEstTeam}
\end{longtable}

\vspace{.5cm}
\noindent
As table \ref{tbl:CostEstTeam} shows, each team member will work almost 60 hours on the project. Comparing this amount to the available time estimation shown in table \ref{tbl:AvailableTime}, it can be seen that there is a certain amount of buffer which can be assigned to tasks in case of unexpected events.


\subsection{Cost Estimation Per Project Phase}
In order to have a optimal insight of the project costs and to control which project phase causes the most costs, table \ref{tbl:CostEstPhases} shows the cost estimation for each project phase. It shows that all three phases are almost equally distributed in terms of work load and the resulting costs. The highest impact on the costs is the documentation task which is the most time consuming part. Those documentation costs have to be seen as general expenses for all three phases.

\vspace{.5cm}
\begin{longtable}{p{90mm}|p{15mm}|p{25mm}}
 	\hline
 	\textbf{Phase} & \textbf{Hours} & \textbf{Total Costs}\\
 	\hline
 	\hline
 	Initial Project Phase & 19h & \euro{1702,00}\\
 	\hline
 	Requirements Engineering/Evaluation Phase & 24h & \euro{1776,00}\\
 	\hline
 	Implementation Phase & 18h & \euro{1332,00}\\
 	\hline
 	Controlling and Documentation & 176h & \euro{13024,00}\\
 	\hline
 	\hline
 	\textbf{Total} & \textbf{237h} &\textbf{\euro{17538,00}} \\
 	\hline
	\caption{Cost Estimation Team}
	\label{tbl:CostEstPhases}
\end{longtable}


\section{Internal Team Processes}
To be able to work in a optimal way on the project as a team, internal processes had to be defined. Those processes are for example how project content will be distributed, how the communication will be done during work weeks or the development process model. These processes had been defined very early during the start up phase, as a base for all preceding tasks and will be described in the following sections.

\subsection{Team Collaboration}
As a fundamental project base, a on-line team collaboration platform called TeamBox\footnote{http://www.teambox.com} was selected. Through this platform it is possible to assign work tasks to the team members and to control the status of each task. Further the platform provides space for data which can be used to upload the plenum presentations or the project plan. In this way all team members are able to access the necessary project data. On this platform the meeting minutes and the resulting decision are provided also.

\subsection{Version Control}
During the documentation phase, the whole team will work on the same document. To counter the main issue with team members working on the same document at the same time, a Subversion (SVN) repository was created to keep track of document changes and to keep the document consistent. Subversion provides this by a versioning and version merging functionality. It also ensures that each team member can work on the latest version of the document without any additional communication.

\subsection{Communication}
Under the already mentioned aspect that the team will not be able to work together within the same environment because of the full-time job besides the master course, an easy way of communication had to be found. An ideal solution for this purpose is the Internet communication tool Skype\footnote{http://www.skype.de}. By using this tool the team is able to have a sophisticated way of different communication types. Skype can be used for quick messages or for direct Internet telephone calls. Additionally those features can be even used for chat and telephone conferences. Of course, additionally the team members exchanged their cell phone numbers and work phone numbers to be able to communicate in urgent cases.  

\subsection{Development Process}
Knowing that a professional web shop distribution will be used to create the web shop of GreenGadget Inc., it is expected that only a little implementation effort will be necessary. To handle the implementation and test tasks the team agreed on a development model, the well known V-model. This model is divided into design phases on different abstraction levels which will end with the implementation phase. Then the implementation phase is followed by the corresponding test phases. Although the model depicts a straight forward approach, each phase can be revisited (iterations) in case of e.g. found errors. The V-model is shown in figure \ref{fig:vmodel}.

\begin{figure}
\begin{center}
\includegraphics[width = .8\textwidth]{images/vmodel.pdf}
\caption{V-Model}
\label{fig:vmodel}
\end{center}
\end{figure}

